114127cf507a8f5e12e0e93476bf90ecd996ad90,java/java-psi-impl/src/com/intellij/psi/impl/PsiSuperMethodImplUtil.java,PsiSuperMethodImplUtil,isSuperMethod,#PsiClass#HierarchicalMethodSignature#HierarchicalMethodSignature#,263
Before Change
PsiClass containingClass = hierarchicalMethodSignature.getMethod().getContainingClass();
return !superMethod.isConstructor()
&& !aClass.equals(superClass)
&& PsiUtil.isAccessible(superMethod, aClass, aClass)
&& MethodSignatureUtil.isSubsignature(superSignatureHierarchical, hierarchicalMethodSignature)
&& superClass != null
&& (containingClass != null && containingClass.isInterface() == superClass.isInterface() || superClass.isInterface() || "java.lang.Object".equals(superClass.getQualifiedName()))
;
After Change
PsiClass containingClass = hierarchicalMethodSignature.getMethod().getContainingClass();
if (!superMethod.isConstructor()) {
if (!aClass.equals(superClass)) {
if (PsiUtil.isAccessible(superMethod, aClass, aClass)) {
if (MethodSignatureUtil.isSubsignature(superSignatureHierarchical, hierarchicalMethodSignature)) {
if (superClass != null) {
if (superClass.isInterface() ||
"java.lang.Object".equals(superClass.getQualifiedName())) {
return true;
}
if (containingClass != null) {
if (!containingClass.isInterface()) {
return true;
}
if (!aClass.isInterface() && !InheritanceUtil.isInheritorOrSelf(superClass, containingClass, true)) {
return true;
}
}
}